<?php
/*
	+-----------------------------------------------------------------------------------------+
	| Projeto MonitoraSUS                                                                     |
	+-----------------------------------------------------------------------------------------+
	| Copyright (c) 2005-2008 Secretaria Municipal de Saúde de Belo Horizonte / Prodabel      |
	|                                                                                         |
	| Analista Responsável: Hugo Nathaniel Rodrigues <hugonr@gmail.com>, <hugo@pbh.gov.br> |  
	|                       Consultor - GSFS - Prodabel / SMSA                                |
	| Departamento Responsável - SMSA: GPLD - Paulinho <pauloces@pbh.gov.br>                  |
	| Departamento Responsável - Prodabel: GSFS - Ricardo Monteiro <monteiro@pbh.gov.br>      |
	| Analista de Informaçao: Marcone <marcone.costa@pbh.gov.br>                              |
	+-----------------------------------------------------------------------------------------+
*/

/**
* classe ObjetivoEspecificoClass
* Classe para Trabalhar com objetivos específicos do plano municipal
*
* @author Hugo Rodrigues <hugonr@gmail.com>, <hugo@pbh.com.br>
* @version $Id: class.ObjetivoEspecifico.php,v 1.0 06/08/2008 13:25:00 Hugo $
*
* @package MonitoraSUS
*/

//Alterado dia: 26/07/2011 18:02; Por: Mauricio Marques

class ObjetivoEspecificoClassD{

	/**
	* contem o código do objetivo especifico
	* @var int
	* @access public
	*/
	var $numobjetivoespecifico;
	var $banco;

	/**
	* Construtor
	* @access public
	*/
	function ObjetivoEspecificoClassD(){
		$this->numobjetivoespecifico = "";
		$this->banco = $_SESSION["banco"];
	}

	/**
	* Excluir Objetivo Específico
	* @param int $num_eixo
	* @param int $num_objetivo
	* @param int $num_diretriz
	* @param int $num_objetivoespecifico
	* @param string $where
	* @param array $nivelacesso
	* @return string $msg
	* @access	public
	*/
	function excluiobjetivoespecifico($num_eixo, $num_objetivo, $num_diretriz, $num_objetivoespecifico, $where, $nivelacesso, $conexao){
		if ($nivelacesso[4][3] == "S"){ 
			$sql = "select cod_unsa_inclusao from " . $this->banco . ".objetivos_especificos where num_objetivoespecifico=$num_objetivoespecifico";
			$resultado = pg_query( $sql);
			$cod_unsa_inclusao = pg_fetch_result($resultado,0,"cod_unsa_inclusao");
			if (($cod_unsa_inclusao != $_SESSION["fcod_unsa"]) && ($_SESSION["fnum_nivel_acesso"] != 1)){
				$msg = "Exclusão Cancelada - Somente Funcionários da Unidade que incluiu este Registro podem excluí-lo";
			} else {
				$totalregistro = 0;
				$sql = "select count(*) as total from " . $this->banco . ".metas where $where and num_objetivoespecifico=$num_objetivoespecifico";
				$resultado = pg_query( $sql);
				$totalregistro = pg_fetch_result($resultado, 0, "total");
				if ($totalregistro > 0){
					$msg = "Exclusão Cancelada - Você deve excluir todas as Metas antes de excluir a Estratégia!";
				} else {
					$sql = "update " . $this->banco . ".objetivos_especificos set situacao='I' where $where and num_objetivoespecifico=$num_objetivoespecifico";
					if (pg_query( $sql)){
						$msg = "Exclusão Realizada com sucesso!";
					} else {
						$msg = "Erro ao realizar a exclusão!";
					}
				}	
			}
		} else {
			$msg = "Você não tem permissão para esta ação!";
		}
		return $msg;
	}


	/**
	* Inserir Objetivo Específico
	* @param int $num_eixo
	* @param int $num_objetivo
	* @param int $num_diretriz
	* @param string $des_metas_gestao
	* @param string $where
	* @return string $msg
	* @access	public
	*/
	function inserirobjetivoespecifico($num_eixo, $num_objetivo, $num_diretriz, $where, $conexao){
		$num_orgao = $_POST["Num_Orgao"];
		$des_metas_gestao = $_POST["Des_Metas_Gestao"];
		// colocar unidade de saude na tabela funcionario.
		$sql = "insert into " . $this->banco . ".objetivos_especificos (num_diretriz, num_orgao, des_objetivoespecifico, id_usuario_inclusao, data_inclusao, situacao, cod_unsa_inclusao) ";
		$sql .= " values (";
		$sql .= "$num_diretriz, ";
		$sql .= "$num_orgao, ";
		$sql .= "'" . decodificar($des_metas_gestao) . "', ";
		$sql .= $_SESSION["fnum_func"] . ", ";
		$sql .= "now(), ";
		$sql .= "'A', ";
		if ($_SESSION["fcod_unsa"] != ""){
			$sql .= $_SESSION["fcod_unsa"] . ") ";
		} else {
			$sql .= "1)";
		}
		if (pg_query( $sql)){
			$sql2 = "select num_objetivoespecifico from " . $this->banco . ".objetivos_especificos order by num_objetivoespecifico DESC limit 1";
			$resultado = pg_query( $sql2);
			$num_objetivoespecifico = pg_fetch_result($resultado,0,"num_objetivoespecifico");
			$msg = "Inclusão da Estratégia realizada com sucesso!";
			$this->numobjetivoespecifico = $num_objetivoespecifico;
		} else {
			$msg = "Erro ao incluir a Estratégia";
			$this->numobjetivoespecifico = "";
		}
		return $msg;
	}


	/**
	* Alterar Objetivo Específico
	* @param int $num_eixo
	* @param int $num_objetivo
	* @param int $num_diretriz
	* @param int $num_objetivoespecifico
	* @param string $des_metas_gestao
	* @param string $where
	* @return string $msg
	* @access	public
	*/
	function alterarobjetivoespecifico($num_eixo, $num_objetivo, $num_diretriz, $num_objetivoespecifico, $where, $conexao){
		$num_orgao = $_POST["Num_Orgao"];
		$des_metas_gestao = $_POST["Des_Metas_Gestao"];
		$sql = "select cod_unsa_inclusao from " . $this->banco . ".objetivos_especificos where num_objetivoespecifico = " . $num_objetivoespecifico;
		$resultado = pg_query( $sql);
		$cod_unsa_inclusao = pg_fetch_result($resultado,0,"cod_unsa_inclusao");
		if (($_SESSION["fcod_unsa"] == $cod_unsa_inclusao) || ($_SESSION["fnum_nivel_acesso"] == 1)){
			$sql = "update " . $this->banco . ".objetivos_especificos set des_objetivoespecifico='" . decodificar($des_metas_gestao) . "', num_orgao=$num_orgao, id_usuario_alteracao=" . $_SESSION["fnum_func"] . ", data_alteracao=now() where num_objetivoespecifico=$num_objetivoespecifico ";
			if (pg_query( $sql)){
				$msg = "Alteração da Estratégia realizada com sucesso!";
			} else {
				$msg = "Erro ao alterar a Estratégia";
			}
		} else {
			$msg = "Alteração Cancelada - Somente Funcionários da Unidade que incluiu este Registro podem alterá-lo";
		}
		return $msg;
	}


	/**
	* adicionafavorito
	* @param int $num_eixo
	* @return string $msg
	* @access	public
	*/
	function adicionafavorito($num_eixo, $num_objetivo, $num_diretriz, $num_objetivoespecifico, $conexao){
		$sql = "select count(*) as total from " . $this->banco . ".favoritos where id_usuario=" . $_SESSION["fnum_func"] . " and caminho = '$num_eixo-$num_objetivo-$num_diretriz-$num_objetivoespecifico' ";
		$resultado = pg_query( $sql);
		if (pg_fetch_result($resultado,0,"total")<=0){
			$sql = "insert into " . $this->banco . ".favoritos (id_usuario, caminho) values (" . $_SESSION["fnum_func"] . ", '$num_eixo-$num_objetivo-$num_diretriz-$num_objetivoespecifico') ";
			if (pg_query( $sql)){
				$msg = "Favoritos Inserido com Sucesso!";
			} else {
				$msg = "Erro ao Inserir Favoritos";
			}
		} else {
			$msg = "Favoritos Já existente, Inserção cancelada!";
		}
		return $msg;
	}

}


?>